This section is intended to introduce the reader to various aspects of the art that may be related to various aspects of the present invention. The following discussion is intended to provide information to facilitate a better understanding of the present invention. Accordingly, it should be understood that statements in the following discussion are to be read in this light, and not as admissions of prior art.
Internet Protocol version 6 (IPv6) is an Internet Protocol version which is designed to succeed IPv4, the first implementation which is still in dominant use. It is an Internet Layer protocol for packet-switched networks. The main driving three for the redesign of Internet Protocol is the foreseeable IPv4 address exhaustion. IPv6 has a vastly larger address space than IPv4. This results from the use of a 128-bit address, whereas IPv4 uses only 32 bits. Until IPv6 completely supplants IPv4, a number of transition mechanisms are needed to enable IPv6-only hosts to reach IPv4 services and to allow isolated IPv6 hosts and networks to reach the IPv6 Internet over the IPv4 infrastructure. It is expected that IPv4 and IPv6 will coexist for many years during this transition.
In order to reach the IPv6 Internet, an isolated host or network must use the existing IPv4 infrastructure to carry IPv6 packets. This is done using a technique known as tunneling which consists of encapsulating IPv6 packets within IPv4, in effect using IPv4 as a link layer for IPv6. There are several types of tunneling where the most common ones are the 6-to-4 tunnels (RFC 3056) and the IPv6 Teredo tunnels (RFC 4380). For this invention the differentiation of the used tunnel is not a relevant issue.
Policy and Charging Control (PCC) architecture permits to integrate both policy and charging control. The architecture that supports Policy and Charging Control functionality is shown in FIG. 1. FIG. 1 shows a PCC policy and charging control architecture. FIG. 1 has been taken from TS 23.203, which specifies the PCC functionality for Evolved 3GPP Packet Switched domain, including both 3GPP accesses (GERAN/UTRAN/E-UTRAN) and Non-3GPP accesses. It has been marked in yellow the nodes that would receive any impact from this invention.
The Gx reference point is defined in 3GPP TS 29.212 and lies between the Policy and Charging Rule Function (PCRF) and the Policy and Charging Enforcement Function (PCEF). The Gx reference point is used for provisioning/activation and removal/deactivation of PCC rules from the PCRF to the PCEF and the transmission of traffic plane events from the PCEF to the PCRF. The Gx reference point can be used for charging control, policy control or both.
3GPP TS 29.212 specifies two different types of PCC                Dynamic PCC rules: They are dynamically provisioned by the PCRF to the PCEF via the Gx interface and may be either predefined or dynamically generated in the PCRF. Dynamic PCC rules can be installed, modified and removed at any time.        Static PCC rules: They are configured in the PCEF and can be activated or deactivated by the PCRF or by the PCEF at any time. Static PCC rules within the PCEF may be grouped allowing the PCRF to dynamically activate a set of static PCC rules over the Gx reference point. Those static PCC rules to be locally activated by the PCEF are not explicitly known in the PCRF, but the PCRF simply knows identifiers of static PCC rules to be activated from the PCRF.        
Some of the PCC rules, the dynamic ones, are based on the user IP address. The static PCC rules may also be based on the user IP address but since they are locally configured in the PCEF its content is dependent on the operator needs.
Concretely, according to TS 29.212, a PCC rule consists of                a rule name;        service identifier;        service data flow filter(s);        precedence;        gate status;        QoS parameters;        charging key (i.e. rating group);        other charging parameters.        
Where the service data flow filters are used to select the traffic for which the rule applies. They contain among other parameters the source and destination IP addresses that can be IPv4 (for the IPv4 PCC rules) or IPv6 addresses (for the IPv6 PCC rules).
The Rx reference point is defined in 3GPP IS 29.214 and is used to exchange application level session information between the Policy and Charging Rules Function (PCRF) and the Application Function (AF). An example of PCRF is Ericsson SAPC. An example of AF is the IMS P-CSCF. Note both Gx and Rx reference points are based on Diameter (RFC 3588).
DPI (Deep Packet Inspection) technology supports packet inspection and service classification, which consists on IP packets classified according to a configured tree of rules so that they are assigned to a particular service session. DPI is now under standardization, the so-called Traffic Detection Function (TDF), which can be either stand-alone or collocated with PCEF, please refer to 3GPP TR 23.813 for details. Support for IPv6 is now being implemented in packet networks. During the migration period from IPv4 to IPv6, tunneling techniques are needed, that is, encapsulating IPv6 packets within IPv4 (or IPv4 packets within IPv6 depending on the applicable scenario).
In case of a legacy IPv4 UE (i.e. not supporting dual stack) and when the user wants to access IPv6 services (e.g. a laptop connected to a legacy UE), a tunnel IPv6 over IPv4 needs to be established. The PCC architecture as currently defined by 3GPP does not address the installation and enforcement of IPv6 PCC rules for the tunneling scenarios above. A legacy IPv4 LIE can only request PDN Type IPv4, so the PCEF (PGW/GGSN) will assign an IPv4 address to the UE. As a consequence, PCEF will establish a Gx connection with the PCRF using the IPv4 address assigned, and only PCC rules based on the user IPv4 address will be installed/activated from PCRF to PCEF.
For the above tunneling scenarios, the IPv4 PCC rules are irrelevant as they just identify the tunnel endpoints. The important rules are the IPv6 ones, which cannot be installed using the current PCC architecture.